package com.minivision.sdktestdemo.controler.ui.list;

import android.net.Uri;

import com.minivision.sdktestdemo.model.Provider;

/**
 * Created by devtang on 2016/4/11.
 */
public abstract class ListControler<T> {

    public ListControler() {
    }

    public static final int SINGERS = 1;

    public static final int MUSICS = 2;

    public static final int ALBUMS = 3;

    public static final int PATHS = 4;

    public Provider<T> getmProvider() {
        return mProvider;
    }

    public abstract String getTitle(int position);

    public abstract String getContent(int position);

    public abstract int getType();

    public abstract Uri getPicUrl(int position);

    public int size() {
        return mProvider.size();
    }

    public abstract boolean notifyDataChanged();

    public abstract boolean isItemPlayed(String key, int position);

    protected Provider<T> mProvider;
}
